package com.itfreer.ui.base.api;

/**
 * 定义本身具有数据源绑定的Key, Value数据
 */
public interface IDataView extends ISimpleView {

    /**
     * 设置绑定的数据
     * @param data
     */
    void setBindData(Object data);

    /**
     * 获取绑定的数据
     * @return
     */
    Object getBindData();

    /**
     * 数据绑定时的PID值，默认为0
     * @return
     */
    String getPid();

    /**
     * 设置pid值
     * @param pid
     */
    void setPid(String pid);

    /**
     * 获取子级加载级别
     * @return
     */
    Integer getLoadLevel();

    /**
     * 多级联动配置，获取下一级UI控件
     * @return
     */
    String getNextUI();

    /**
     * 设置值改变监听
     * @param onValueChange
     */
    void setOnValueChange(OnValueChange onValueChange);
}